Deploying NKLS and Network License

NKLS Setup Installer

A common scenario for the floating network license solution is that the NKLS is deployed on a private network as a local license server. Therefore, you must prepare the NKLS setup installer to be delivered to the user (or administrator).

 

In the ElecKey directory \NetKeyLicenseServer, the NKLS setup installer is provided in two versions:

 

·         NKLS Setup.exe

·         NKLS 4.0 EK.msi

You can choose and provide either version of the NKLS setup installer to the user. Besides, you may also repack all files in the NKLS setup installer and create your own setup package as well.

Machine Based Network License

Machine based network license is the Network Key that is implemented as Machine License, i.e. implemented on the hard disk drive. In this case, you must build the Network Key Register utility to be distributed along with the protected application. The user (or administrator) can deploy the network license by running the Network Key Register utility on the server, and then register the license to obtain a License Key.

 

The following instructions describe how to use ElecKey Integrator to build the Network Key Register utility.

To Build the Network Key Register Utility

1.       Run ElecKey Integrator. The wizard dialog box appears.

2.       In the Select Application License Type dialog, select Machine License.

3.       In the Select Integration Task dialog, select Build End-User Utilities for Network Key.

4.       In the Set Identification dialog, assign the same Program ID (you previously used to protect your application) in the Program ID field.

5.       In the Set Options dialog, you can use the default settings.

6.       In the Select Evaluation Mode dialog, select Custom/Secure Evaluation.

7.       In the Customize Messages dialog, the needed dialog boxes for the implementation you have chosen are automatically checked. However, you can enable the dialog boxes as well as edit messages and options as you want. Then, click the Edit button of the Registration Dialog Box checkbox.

8.       In the Registration Dialog Box Properties dialog box, click the Options tab. Then, in the URL/Email/Document/Executable field, enter your website URL. For instance, https://www.sciensoft.com/register.html or https://www.sciensoft.com/register.htm?regid=<EncRegID>. Or, enter the email composer parameters. For instance, mailto:service@sciensoft.com or mailto:service@sciensoft.com?subject=Request License Key&body=My Registration ID is <RegID>.

9.       In the Create End-User Utilities dialog, the needed end-user utilities for the implementation you have chosen are automatically checked. However, you can choose to build the end-user utilities as you want.

10.    In the Summary dialog, review the action you have chosen.

11.    Click the Integrate button. The end-user utilities for Network Key are created.

 

To create a setup package for deploying the network license, please ensure to include the following files:

 

·         Register.exe (Network Key Register utility)

·         Ekc3220.dll (in \Deploy\Win32App\KeyCheck\)

·         Ekc6420.dll (in \Deploy\Win64App\KeyCheck\)

·         Nkag20.exe (in \Deploy\Win32App\Network\)

·         Nkag6420.exe (in \Deploy\Win64App\Network\)

·         Netkey.ini (Network Key configuration file)

·         End-user utilities (optional)

The user can install the network license by running the Network Key Register utility (REGISTER.EXE) locally on the server, or remotely from a client computer. In both cases, the Network Key configuration file (NETKEY.INI) must be edited with the proper settings of the NKLS address and port number.

USB Dongle Based Network License

USB dongle based network license is the Network Key that is implemented as USB License, i.e. implemented on the USB flash drive. In this case, you must make the USB License Key (dongle) to be distributed along with the protected application. The user (or administrator) can deploy the network license by attaching the USB License Key to the server. 

 

The following instructions describe how to use USB LicenseKey Manager to make the USB License Key.

To Make a USB License Key

1.       Run USB LicenseKey Manager.

2.       Attach a blank USB drive to a USB port on your computer.

3.       In the Main tab of the Key Properties pane, from the Program ID drop-down list, select Program ID of your application.

4.       From the Implementation drop-down list, select Distribution.

5.       Click the Network tab. In the Network Key box, specify the maximum number of concurrent users in the Max-User field, and then specify the network settings as you want.

6.       From the Package pane, you can save the settings as a package for future use. In the Package Name field, enter the title of the package. Then, from the File menu, click Save.

7.       From the Note pane, you can enter notes about the package in the Messages field. Then, from the File menu, click Save.

8.       Click the Key Properties pane. Then, click the Make Key button. The Make Key dialog box appears.

9.       In the Make Key dialog box, from the Drive drop-down list, select the drive letter of the attached USB drive. Then, click the Make button.

10.    When the Result field shows as Complete, the attached USB drive is successfully turned into a USB License Key. You can then remove the USB drive from your computer.

11.    You can make another USB License Key by attaching another blank USB drive to your computer. Then, in the Make Key dialog box, click the Make button.

Deploying Multiple Network Licenses

An instance of the NKLS can serve one application. In other words, it can only detect one Network Key. To deploy multiple network licenses, the server must run multiple instances of the NKLS, each with a different assigned port number. Accordingly, the server must have multiple Network Keys installed, each with a different Program ID.  

 

For your convenience, you may create multiple shortcuts to run the NKLS, using the parameter /CONFIG to specify the NKLS configuration file (e.g. "C:\Program Files\ NetKey40EK\NKLS40EK.EXE" "/CONFIG C:\Myapplication\NKLS1.INI"). Each configuration file must be assigned a different port number, with a different caption to help to identify the application the NKLS is serving. Then, you can easily use the shortcuts to run multiple instances of the NKLS without having to make changes in the configuration file.

NKLS Fault Tolerance

The NKLS solution supports fault tolerance to provide continuous availability for the application in the event of server failures. You can deploy the NKLS on up to 4 servers in which each server must have the Network Key with the same identifications (Key ID, Program ID) and necessary Key Properties (e.g. Max-User). However, some other properties may be different depending on your policy. For example, you may add Max-Exec and no Max-Roam for the Network Key on the redundant servers to limit the licensing capacity. When the main server is down, the application can automatically connect to the next server in order, in background process without interruption.

 

To provide fault tolerance, the application on each client must also have the Network Key configuration file configured properly with the address and port number of the NKLSs. The following is an example of the Network Key configuration file, when deploying NKLS fault tolerance.  

 

[Network]

ServerAddress1=192.168.2.1

ServerPort1=1245

Host1=

ServerAddress2=192.168.2.2

ServerPort2=1245

Host2=

ServerAddress3=192.168.2.3

ServerPort3=1245

Host3=

TimeOut=60